package models

import "gorm.io/gorm"

type Product struct {
	gorm.Model
	Name        string  `gorm:"type:varchar(20);not null;comment:商品名称;index" json:"name"`
	Code        string  `gorm:"type:varchar(50);not null;comment:商品编码"`
	Price       float64 `gorm:"decimal(10,2);comment:价格" json:"price"`
	CategoryId  int     `gorm:"comment:分类ID" json:"category_id"`
	Status      int     `gorm:"type:int(1);default:0;comment:商品状态0-出售中1-已售完2-已下架"`
	Image       string  `gorm:"type:varchar(255);comment:图片"`
	Videos      string  `gorm:"type:varchar(255);comment:视频"`
	IsHot       bool    `gorm:"default:false;comment:是否卖点"`
	Unit        string  `gorm:"comment:库存单位"`
	Description string  `gorm:"type:text;comment:商品描述" json:"description"`
}
type Category struct {
	gorm.Model
	Pid    int    `json:"pid"`
	Name   string `json:"name"`
	IsShow bool   `gorm:"default:true"`
}
type ProductSku struct {
	gorm.Model
	ProductID     int     `gorm:"comment:商品ID" json:"product_id"`
	Name          string  `json:"name"`
	Price         float64 `json:"price"`
	CodePrice     float64 `json:"code_price"`
	OriginalPrice float64 `json:"original_price"`
	Specs         string  `json:"specs"`
	Stock         int     `json:"stock"`
	Img           string  `json:"img"`
	Weight        int     `json:"weight"`
}
type Spec struct {
	gorm.Model
	Name string `json:"name"`
}
type SpecValue struct {
	gorm.Model
	SpecID int    `json:"spec_id"`
	Value  string `json:"value"`
}
type ProductSpec struct {
	gorm.Model
	ProductID int    `json:"product_id"`
	SpecID    int    `json:"spec_id"`
	SpecName  string `json:"spec_name"`
	SpecValue string `json:"spec_value"`
}
